#include <sprites.h>


void loadsprite(int num, char * name, struct screen* screen)
{//Загрузка спрайтов
    screen->tmp[num] = SDL_DisplayFormat(SDL_LoadBMP(name));
}

void loadsprite_png(int num, char * name, struct screen* screen)
{//Загрузка спрайтов png
screen->tmp[num] = SDL_DisplayFormatAlpha(IMG_Load(name));
}

void drawSprite(int num, float x, float y, struct screen* screen)
{//Вывод спрайтов на  display
SDL_Rect shadow;
shadow.x = (Sint16) x;
shadow.y = (Sint16) y;
SDL_SetColorKey(screen->tmp[num], SDL_SRCCOLORKEY | SDL_RLEACCEL, SDL_MapRGB(screen->tmp[num]->format, 255, 0, 255));
SDL_BlitSurface(screen->tmp[num], 0, screen->display, &shadow);
}

void drawSprite_png(int num, float x, float y, struct screen* screen)
{//Вывод спрайтов png на display
SDL_Rect shadow;
shadow.x = (Sint16) x;
shadow.y = (Sint16) y;
SDL_SetColorKey(screen->tmp[num], SDL_SRCCOLORKEY | SDL_RLEACCEL, SDL_MapRGBA(screen->tmp[num]->format, 0, 0, 0, 255));
SDL_BlitSurface(screen->tmp[num], 0, screen->display, &shadow);
}

void DrawTile_map (int tx, int ty, int wx, int wy, int size_tx, int size_ty, int tail, struct screen* screen)
{/*Фунция для печати тайловыми картами (в параметрах координаты для печати, координаты тайла в тайловой карте,
    размеры тайла в карте, номер поверхности тайловой карты, структура screen)
    */
SDL_Rect dstrect;
SDL_Rect srcrect;
dstrect.x=wx;
dstrect.y=wy;
dstrect.w=size_tx;
dstrect.h=size_ty;

srcrect.x=tx*size_tx;
srcrect.y=ty*size_ty;
srcrect.w=size_tx;
srcrect.h=size_ty;
SDL_SetColorKey(screen->tmp[tail],SDL_SRCCOLORKEY|SDL_RLEACCEL,SDL_MapRGBA(screen->tmp[tail]->format,0,0,0,255));
SDL_BlitSurface(screen->tmp[tail],&srcrect,screen->display,&dstrect);
}

